CODE 134. Single Number II

版权声明:本文为博主原创文章,转载请注明出处,谢谢!

版权声明:本文为博主原创文章,转载请注明出处:http://blog.jerkybible.com/2013/11/23/2013-11-23-CODE 134 Single Number II/

访问原文「CODE 134. Single Number II

Given an array of integers, every element appears three times except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

1
2
3
4
5
6
7
8
9
10
11
12
public int singleNumber(int A[]) {
int ones = 0, twos = 0, xthrees = 0;
for (int i = 0; i < A.length; ++i) {
twos |= (ones & A[i]);
ones ^= A[i];
xthrees = ~(ones & twos);
ones &= xthrees;
twos &= xthrees;
}
return ones;
}
Jerky Lu wechat
欢迎加入微信公众号